﻿using System.Collections.Generic;
using System.Windows.Messaging;

namespace Remoting.Reactive.Windowing
{
    public interface ILocalMessagingFactory
    {
        ILocalMessageSenderObservable CreateSender(string receiverName);
        ILocalMessageSenderObservable CreateSender(string receiverName, string receiverDomain);
        ILocalMessageReceiverObservable CreateReceiver(string receiverName);
        ILocalMessageReceiverObservable CreateReceiver(string receiverName, ReceiverNameScope nameScope, IEnumerable<string> allowedSenderDomains);
    }
}
